/**
 * 第 1 行：从 'axios' 包中导入 axios，用于后续的 HTTP 请求。
 */
import axios from 'axios';

/**
 * 第 2 行：定义一个常量 API_BASE_URL，指定后端 API 的基础网址。
 *         在实际项目中，你需要将 'http://your-backend-api-url' 替换成真实的后端接口地址。
 */
const API_BASE_URL = 'http://your-backend-api-url';

/**
 * 第 3 行：导出一个名为 fetchData 的异步函数，它接受一个 endpoint 参数。
 *         endpoint 是具体的接口路径，会与 API_BASE_URL 合并拼接成完整的请求 URL。
 */
export const fetchData = async (endpoint) => {
  /**
   * 第 4 行：使用 try-catch 结构，首先尝试发起 GET 请求。
   */
  try {
    /**
     * 第 5 行：使用 axios.get 来请求后端接口，模板字符串将 API_BASE_URL 和 endpoint 拼接起来。
     *          执行后 response 中包含了接口返回的信息。
     */
    const response = await axios.get(`${API_BASE_URL}/${endpoint}`);

    /**
     * 第 6 行：返回后端响应数据 response.data，通常是 JSON 格式。
     */
    return response.data;
  } catch (error) {
    /**
     * 第 7 行：如果请求或处理过程中发生错误，就会执行这个 catch 块。
     *          首先使用 console.error 打印错误信息，方便调试。
     */
    console.error('API fetch error:', error);

    /**
     * 第 8 行：抛出错误，让调用此函数的代码根据需要进行进一步的错误处理。
     */
    throw error;
  }
};

/**
 * 第 9 行：注释说明这里可以根据项目需求继续添加更多的 API 方法，例如 POST、PUT、DELETE 等。
 */
